<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
	</body>
	<script>
		
		/* 
		  字符串在底层是一字符数组的形式保存
		  var obj ='abcdefg'
		  底层是 ['a','b','c','d','e','f','g'] 
		  obj[0]=a
		 */
		//字符串也有长度  console.log(obj.length);
		
		/* var obj ='abcdefg'
		console.log(obj[0]) */
		/* 
		和str[1]效果类似
		--------------------str.charAt(2)---------   console.log(str.charAt(2))==c;
		 */
		/* 
		打印unicode 编码
		 -----------------str.charCodeAt(0)----------  console.log(str.charCodeAt(0))==97;
		 */
		/* 
		 -----------------String.fromCharCode(72)==H -------- 输入编码查看字符 属于String构造函数的方法;
		 String.fromCharCode(ox2692) 16进制的数字 unicode的编码保存的就是16进制数 所以要用16进制格式
		 */
		/* 
		 连接字符串
		var str ='hello'
		 var result= str.concat('你好','迪迦')逗号也没了
		 console.log(result);
		 */
		
		/* 
		var str ='hello'
		var result = str.indexOf('e')   不能传递正则表达式
		 	console.log(result);
			有的话返回索引  没有返回-1
			indexOf('e',2)查找的位置从2开始查
		 
		 */
		/* 
		从后向前找和indexOf用法一样也一样
		 str.lastindexOf('r',3)
		 */
		
		/* 
		截取字符串会返回新的字符串
		    --第一个为开始位置
			--第二个为结束但不包含
			     第二个可以省略表是到末尾
			--也可以传递负数 倒着数
		var str ='hello world'
		var result=str.slice(1,2)==e
		var result=str.slice(1)==ello world
		var result=str.slice(1,-1)==ello worl
		console.log(result);
		 */
		'javascript'.substr(1,3)
		/* 截取字符串会返回新的字符串
		    --第一个为开始位置
			--第二个为截取个数
			     第二个可以省略表是到末尾
			--不能用复数 如果用了 或转换成 0
			--如果第二个数字比第一个小则会调换两者的位置(1,0)=>(0,1)
		var str ='hello world'
		var result =str.substring(1,0)
		console.log(result); 
		
		*/
	   
		/* 
		把字符串变成数组
		 split('') 按给的符号拆分字符并返回一个数组
		 var str ="小米,电信,华硕,戴尔,微软,联想"
		 var result =str.split(','))
		 console.log(typeof result)
		 console.log(Array.isArray(result))==true*/
	    
		/*大小写转换
		 var str='abcdefg'
		var result=str.toUpperCase()
		var str2="ABCDEFG"
		var result2 =str.toLowerCase()
		console.log(result);
		console.log(result2); 
		var str='a'
		var result=str.sup('b')*/
		
	/* 
	 trim方法用于去除字符串两端的空格，返回一个新字符串，不改变原字符串。
	 trim()
	 var str='  567  	'
	 var result=str.trim()
	 console.log(result);*/
	/* 
	 ----------------------replace()      替换
	 replace方法用于替换匹配的子字符串，一般情况下只替换第一个匹配（除非使用带有g修饰符的正则表达式）。
	 
	 'aaa'.replace('a', 'b') // "baa"*/
	 /* 
	 match()                                    查找
	 match方法用于确定原字符串是否匹配某个子字符串，返回一个数组，成员为匹配的第一个字符串。如果没有找到匹配，则返回null。
	 
	 'cat, bat, sat, fat'.match('at') // ["at"]
	 'cat, bat, sat, fat'.match('xt') // null
	 返回数组还有index属性和input属性，分别表示匹配字符串开始的位置和原始字符串。
	 
	 var matches = 'cat, bat, sat, fat'.match('at');
	 matches.index // 1
	 matches.input // "cat, bat, sat, fat"
	 match方法还可以使用正则表达式作为参数，详见《正则表达式》一节。
	 
	 search()           可以传递正则表达式              查找
	 search方法的用法等同于match，但是返回值为匹配的第一个位置。如果没有找到匹配，则返回-1。
	 
	 'cat, bat, sat, fat'.search('at') // 1*/
	</script>
</html>
